"""
综合案例
把 二阶段 第一章 类
数据分析 那里的2个销售数据,写入数据库里
实践对数据库的操作
"""
# 导入自定义类
from 二阶段_第一章_类.综合案例_数据分析.数据相关的类 import 类_记录
from 二阶段_第一章_类.综合案例_数据分析.文件相关的类 import 类_文件读取器, csv格式文件读取, json格式文件读取
# 导入sql数据库 链接功能
from pymysql import Connection

# 创建文件对象
一月份销售文件 = csv格式文件读取("D:/python黑马/资料数据/2011年1月销售数据.txt")
二月份销售文件 = json格式文件读取("D:/python黑马/资料数据/2011年2月销售数据JSON.txt")

# 读取文件里的数据
一月份销售数据 = 一月份销售文件.数据读取()  # type: list[类_记录]
二月份销售数据 = 二月份销售文件.数据读取()  # type: list[类_记录]

# 合并成一个列表,方便读取计算   就是拼接列表
总销售数据 = 一月份销售数据 + 二月份销售数据  # type: list[类_记录]  # 这个列表里元素是对象

"""
读取完数据,下面开始写入mysql数据库的操作
"""
# 创建链接
root用户_数据库 = Connection(
                        host="localhost",    # 主机名(或IP地址)  "localhost" 这里的主机名是代表 自己(本地主机) 的意思,或者 127.0.0.1
                        port=3306,           # 端口 默认是3306 (实际具体是看mysql数据库设置的连接端口)
                        user="root",         # 账户名
                        password="sxingang2023"  # 账户密码 (数据库密码要正确)
                      )

# 选择要操作的 库
root用户_数据库.select_db("综合案例_销售数据")
# 建立光标对象
光标对象 = root用户_数据库.cursor()

# 执行sql语句写入数据
"""
也可以写一个字符串变量 传参
sql语句 = f'insert into 销售数据(日期, 订单ID, 销售金额, 销售省份) ' \
          f'values("{对象.订单日期}", "{对象.订单ID}", {对象.订单金额}, "{对象.订单省份}");'
"""
for 对象 in 总销售数据:
    光标对象.execute(f'insert into 销售数据(日期, 订单ID, 销售金额, 销售省份) values("{对象.订单日期}", "{对象.订单ID}", {对象.订单金额}, "{对象.订单省份}");')


# 确认修改数据库
# root用户_数据库.commit()

# 关闭数据库链接
root用户_数据库.close()